package pedidos.presentacion;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import base.presentacion.utils.FacesUtils;
import pedidos.logica.ServicioProductos;

@ManagedBean
@RequestScoped 
public class CrearProducto {

	// propiedades del formulario
	
	Long 	id;
	Long 	codigoBarras; 
	String 	nombre; 
	Double 	precioActual;
	
	// EJBs
	
	@EJB
	ServicioProductos servicioProductos;

	public CrearProducto() {
	}
	
	// eventos

	public String grabar() {
		
		System.out.println("grabar");
		try {
			
			// ejecuta el caso de uso
			servicioProductos.agregarProducto(id, codigoBarras, nombre, precioActual);			
			// muestra un mensaje de éxito
			FacesUtils.addSuccessMessage( "Producto creado !!");
			// va al index
			return "";
			
		// cuando ocurre un error 
		} catch (Exception e) {
			
			// muestra el mensaje de error
			FacesUtils.addErrorMessage( "Error creando producto : " + e.getMessage());
			// sigue en la misma página
			return "";
		}
		
	}
	
	// manejo de propiedades
	
	public Long getId() {
		return id;
	}
	
	public void setId(Long id) {
		this.id = id;
	}

	public Long getCodigoBarras() {
		return codigoBarras;
	}

	public void setCodigoBarras(Long codigoBarras) {
		this.codigoBarras = codigoBarras;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Double getPrecioActual() {
		return precioActual;
	}

	public void setPrecioActual(Double precioActual) {
		this.precioActual = precioActual;
	}
	
}
